package _1连接数据库;

// 导入java.sql下面的包

// 连接
import java.sql.Connection;
// 驱动
import java.sql.DriverManager;
import java.sql.ResultSet;
// 异常
import java.sql.SQLException;
// 查询
import java.sql.Statement;



public class TestDemo {

	public static void main(String[] args) 
	{
		
		// 1. 加载驱动
		// 注册MySQL驱动
//		DriverManager.registerDriver(new com.mysql.jdbc.Driver());
		
		// 通过查看源码,加载类后自动注册
//	    // Register ourselves with the DriverManager
//	    static {
//	        try {
//	            java.sql.DriverManager.registerDriver(new Driver());
//	        } catch (SQLException E) {
//	            throw new RuntimeException("Can't register driver!");
//	        }
//	    }
		
		// 改成加载类
		// =>
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			System.out.println("没有找到驱动,检查是否有添加mysql驱动jar包");
			return;
		}
		
		
		// 2. 连接数据库
		// 服务器地址
		// 端口
		// 用户名
		// 密码
		String url = "jdbc:mysql://localhost:3306/mydb";
		String username = "root";
		String password = "123456";		
		Connection conn=null;
		try {
			conn = DriverManager.getConnection(url, username,password);
		} catch (SQLException e) {
			System.out.println("连接数据库异常:"+e.getMessage());
			return;
		}
		
		
		// 3. 查询
		Statement stmt=null;
		try {
			stmt = conn.createStatement();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		// 更新语句
//		String sql = "insert into category value (4,'玩具')";
//		String sql = "delete from category where cid=4";
//		String sql = "update category set cname='女装' where cid=30";
//		int result=stmt.executeUpdate(sql);
//		System.out.println("影响行数"+result);
		
		// 查询语句
		String sql = "select * from category";
		ResultSet rs=null;
		try {
			rs = stmt.executeQuery(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		try {
			while(rs.next()) // 指向下一行结果
			{
				// 得到第几列数据
				int cid = rs.getInt(1);  // 从1开始
				String cname = rs.getString(2);
				// 根据字段名获取
//			int cid = rs.getInt("cid");
//			String cname = rs.getString("cname");
				System.out.println(cid+"--"+cname);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		// 4. 释放资源
		if(rs!=null)
		{
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		if(stmt!=null)
		{
			try {
				stmt.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		
		
//		try {
//			rs.close();
//			stmt.close();
//			conn.close();
//			
//		} catch (SQLException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}

		
	
	}

}

// mysql创建一张商品表 (商品编号 商品名 商品价格 所属分类编号)
// 插入一些数据
